package com.lin.manager.tool.dao;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lin.manager.tool.entity.ColumnInfo;
import com.lin.manager.tool.entity.GenColumn;
import com.lin.manager.tool.entity.GenTable;
import com.lin.manager.tool.entity.TableInfo;
import com.lin.manager.tool.entity.dto.TableDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author linjiang
 * @date 2024/5/15
 * @fn
 */
@Mapper
public interface GeneratorDbDao {

    Page<TableInfo> selectTableFromDb(@Param("Page") Page<TableInfo> tableInfoPage, @Param("db") String db);


    Integer selectCountByTableName(String tableName);

    Integer insertGenTable(@Param("genTable") GenTable genTable);

    Page<GenTable> selectTableFromSystem(@Param("Page") Page page, @Param("key") String key);

    List<ColumnInfo> selectTableFieldByDbTable(@Param("db") String db, @Param("table") String table);

    void deleteTableFromSystem(@Param("ids") List<Integer> ids);

    void deleteTableFieldFromSystem(@Param("ids") List<Integer> ids);

//    List selectTableInfoById(Integer id);

    void insertGenColumn(GenColumn genColumn);

    TableDto selectTableInfoById(Integer id);

    void updateGenTable(@Param("genTable") GenTable genTable);

}
